Modern data processing systems frequently use the technique of distributed control to achieve both high capacity and high reliability. In a system which uses distributed control, a number of processors are involved in the processing of a transaction, such as a request for a reservation on an airline flight. Sometimes, in order to process a transaction it is necessary to use a resource that is one of a pool of one or more resources whose members are shared among many transactions. For example, a printer for printing summary data concerning each transaction may be used in connection with the processing of many transactions and may be required to handle parts of transactions which are under the control of different processors.
One example of a distributed processing system in which there exists a need to use resources which are shared among many processors is a modern digital telecommunication system. In order to be able to serve a broad range of office sizes and to enhance reliability, many present day systems use the technique of distributed control in which the system is broken down into a number of modules. In some such systems, such as the 5ESS.TM. switch manufactured by AT&T Technologies, Inc., described in U.S. Pat. No. 4,322,843 by H. J. Beuscher et al., each such module has a plurality of ports for connection to customer lines and to trunks to other switches, under control of individual module processors. In this system, a central processor having substantial involvement in executing call processing functions is also required.
An example of a function that is typically assigned to the central processor is hunting for an available port of a trunk group (trunk hunting) or hunting for an available port of a multiline hunt group (line hunting). Trunk groups are groups of trunks interconnecting two switches, and multiline hunt groups are groups of lines connected to a private branch exchange (PBX) or automatic call distributor (ACD). Trunk hunts and line hunts are referred to herein as multiport group hunts or as port hunts. A trunk hunt is performed for a large fraction of all calls and a line hunt is performed for calls terminating on a PBX or ACD.
For optimum traffic performance of typical communication switching networks, it is well known in the art that the members of a multiport group should be spread over different modules of a switch. In order to maximize the probability of finding an available port, it is a recognized practice that a hunt be carried out over all ports in a group. It is therefore desirable that a port hunt be carried out by the central processor that includes a data base containing up to date status information of all ports of a switch. This requires the use of a highly reliable, therefore expensive central processor since a multiport hunt is needed for a large fraction of all calls set up in a switch.
In light of the foregoing a problem exists in prior art distributed control systems in that the use of expensive centralized processor arrangements are required for the allocation of commonly accessible shared resources from a pool or group for serving individual transactions or communications, where the transactions or communications are controlled by different processors, each operating independently of the others and each having access to the shared resources.